1. Field of Invention
The present invention relates to network systems. More specifically, the invention relates to efficiently routing traffic between a client and a website associated with a web address, even when transparent fail-over is needed.
2. Description of the Related Art
As the use of the World Wide Web continues to increase, the ability to allow a client or a user to continue accessing a website even when a web server associated with the website goes off line or otherwise fails may be critical. If a user is transacting business through the website, the inaccessibility of the website for even a relatively short amount of time may be unacceptable. In the event of a failure of a web server, i.e., a web server with a first IP address associated with a website, the owner of the website may direct traffic to a different web server, i.e., a web server with a second IP address associated with the website. That is, the owner or administrator of the website may effectively change the IP address of the website.
As shown in FIG. 1A, when a user 110 attempts to access a web server associated with a website 130 using a web address 120, e.g., www.oracle.com, web address 120 is effectively mapped to a first IP address associated with website 130. As such user 110, who may generally be operating a computing system on which a browser is executing, accesses website 130, although user 110 may not be aware of the first IP address associated with website 130. As will be appreciated by those skilled in the art, the first IP address is an address for the web server associated with website 130.
When the web server associated with website 130 is inaccessible, as indicated in FIG. 1B, accessing website 130 using the first IP address associated with website 130 is typically no longer possible. That is, web address 120 no longer allows access to website 130 at the first IP address associated with website 130. Hence, the owner of website 130 may redirect traffic, as for example TCP traffic, to a web server associated website 140 at a second IP address. By way of example, when user 110 first attempts to access a website associated with web address 120 and website 130 is not accessible, user 110 generally accesses website 140. Upon access to website 140, the second IP address associated with website 140 may then be mapped to web address 120. The ability for user 110 to access website 140 when website 130 is inaccessible substantially without user 110 being aware of the inaccessibility of website 130 is typically known as a transparent fail-over.
FIG. 2 is a process flow diagram which illustrates the steps associated with a user gaining access to a website. A process 200 of gaining access to a website begins at step 204 in which a user attempts to access a website at a first address. The first address is an IP address which is associated with the website, as previously mentioned. The user may, for example, attempt to access the website by entering a web address or a domain name, e.g., www.oracle.com, into an appropriate field in a web browser executing on a computing system which is in communication with a network which is arranged to permit access to the website. A determination is made in step 206 as to whether the first IP address is working. That is, it is determined in step 206 whether the server associated with the first IP address is on-line and accessible.
If the determination in step 206 is that the first IP address is working, then the user accesses the website at the first IP address in step 208, and access to the website is effectively gained. Alternatively, if the determination in step 206 is that the first IP address is not working, then process flow proceeds to step 210 in which the user is redirected to a second IP address associated with the website. The user then accesses the website at the second IP address in step 212. It should be appreciated that in the event that the website at the second IP address is inaccessible, the user may either be directed to access the website at a third IP address, or the user may be notified that the website is not currently accessible. However, for ease of discussion, it is assumed that the user is able to access the website at the second IP address.
After the user accesses the website at the second IP address in step 212, the new IP address, i.e., the second IP address, for the website is returned to the user in step 214 and the process of gaining access to the website is completed. After the new IP address is effectively set as the IP address to use to access the website, when the user tries to access the website at a later point in time, the website may be accessed at the new IP address. It should be understood, however, that until the new IP address is effectively set as the IP address to use to access the website, when the user attempts to access the website, the user may still be attempting to access the website at the old IP address, i.e., the first IP address. Due to propagation issues, it may sometimes take a relatively long time before the new IP address is set as the IP address to use to access the website. That is, IP address change propagation issues may cause a transparent fail-over process to take longer than desired when the time delay for a new IP address to be mapped to the web address used to access a website is relatively high.
When a new IP address is not relatively efficiently mapped to a web address when the original IP address associated with the website may not be used to access the website, a user may not be able to obtain any updates to the website. As such, the user may not have access to the most up-to-date information or service, e.g., Internet service, associated with the website. A transparent fail-over process from the original IP address to the new IP address may not be considered as successfully completed until such time as the new IP address is mapped to the web address for the website.
Until a new IP address is mapped to the web address for a website, whenever access to the web address is requested, access to the website through the original IP address is first attempted. It is only when access to the website through the original IP address is not granted that access through the new IP address is attempted. Having to attempt to access a website through a plurality of IP addresses is inefficient as it may significantly increase the access time associated with accessing the website.
While the speed with which an IP address change propagation occurs may be increased to some extent, increasing the speed generally results in a relatively significant load impact, which is often impractical and, in many instances, not feasible. Further, a relatively high error rate is typical of an IP address change propagation.
Therefore, what is needed is an efficient method for providing and completing a transparent fail-over process for providing access to a website. That is, what is desired is a method and an apparatus for increasing survivability of Internet service in the event of a failure, and for decreasing website access times.